Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Optimal Asymmetric Encryption Padding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Optimal_Asymmetric_Encryption_Padding rootpage-Optimal_Asymmetric_Encryption_Padding skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Optimal Asymmetric Encryption Padding</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Optimal Asymmetric Encryption Padding</b>, auf Deutsch etwa <i>Optimales asymmetrisches Verschlüsselungs-Padding</i>, oft auch abgekürzt als <b>OAEP</b>, ist ein <a href="Kryptographie" title="Kryptographie">kryptographisches</a> <a href="Padding_(Informatik)" title="Padding (Informatik)">Paddingverfahren</a>. Es ist eine spezielle Form eines <a href="Feistelchiffre" title="Feistelchiffre">Feistelnetzwerks</a>, mit welchem im <a href="Zufallsorakel" title="Zufallsorakel">Zufallsorakel</a>-Modell aus einer beliebigen <a href="Einwegfunktion#Einwegfunktionen_mit_Falltür_(Trapdoor-Einwegfunktionen)" title="Einwegfunktion">Falltürpermutation</a> ein gegen <a href="Ciphertext_Indistinguishability#Definition_von_IND-CPA" title="Ciphertext Indistinguishability">Gewählter-Klartext-Angriffe</a> semantisch sicheres Verschlüsselungsverfahren gebaut werden kann. Wenn OAEP mit der Falltürpermutation RSA verwendet wird, ist das nun RSA-OAEP genannte Verfahren sogar sicher gegen Gewähltes-Chiffrat-Angriffe (<a href="IND-CCA" class="mw-redirect" title="IND-CCA">IND-CCA</a>). Das Verfahren wurde 1994 von <a href="Mihir_Bellare" title="Mihir Bellare">Mihir Bellare</a> und <a href="Phillip_Rogaway" title="Phillip Rogaway">Phillip Rogaway</a> veröffentlicht.<sup id="cite_ref-BR_1-0" class="reference"><a href="#cite_note-BR-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>

<div class="mw-heading mw-heading2"><h2 id="Verfahren_(Grundvariante)"><span id="Verfahren_.28Grundvariante.29"></span>Verfahren (Grundvariante)</h2></div>

<p>Es sei <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/a601995d55609f2d9f5e233e36fbe9ea26011b3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" loading="lazy"></span> ein Sicherheitsparameter, und <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k_{0}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k_{0}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/eafdfeca4ead3960fca92311910970eba7ec48a1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.265ex; height:2.509ex;" alt="{\displaystyle k_{0}}" loading="lazy"></span> so groß, dass ein Angreifer nur deutlich weniger als <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{k_{0}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2^{k_{0}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/97382d2396ee5b375b673e100b0a7faf18552699.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.083ex; height:2.676ex;" alt="{\displaystyle 2^{k_{0}}}" loading="lazy"></span> Rechenschritte ausführen kann.
</p><p>Weiter seien <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>F</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle F}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/545fd099af8541605f7ee55f08225526be88ce57.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.741ex; height:2.176ex;" alt="{\displaystyle F}" loading="lazy"></span> eine Familie von Falltürpermutationen <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:\{0,1\}^{n}\mapsto \{0,1\}^{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
<mo>:</mo>
<mo fence="false" stretchy="false">{</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<msup>
<mo fence="false" stretchy="false">}</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msup>
<mo stretchy="false">↦<!-- ↦ --></mo>
<mo fence="false" stretchy="false">{</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<msup>
<mo fence="false" stretchy="false">}</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f:\{0,1\}^{n}\mapsto \{0,1\}^{n}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/f063abad09a2befa6f7bf395dd25ab132ca9a6a2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:20.634ex; height:2.843ex;" alt="{\displaystyle f:\{0,1\}^{n}\mapsto \{0,1\}^{n}}" loading="lazy"></span> auf Nachrichten mit <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/a601995d55609f2d9f5e233e36fbe9ea26011b3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" loading="lazy"></span> <a href="Bit" title="Bit">Bits</a>, und <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k=n-k_{0}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
<mo>=</mo>
<mi>n</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k=n-k_{0}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/8d20b32dcb3834d765a078c34ef26ed4aa24e98b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:10.81ex; height:2.509ex;" alt="{\displaystyle k=n-k_{0}}" loading="lazy"></span> die Länge der Nachrichten, welche übertragen werden sollen.
</p><p>Schließlich seien <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G:\{0,1\}^{k_{0}}\mapsto \{0,1\}^{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>G</mi>
<mo>:</mo>
<mo fence="false" stretchy="false">{</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<msup>
<mo fence="false" stretchy="false">}</mo>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mrow>
</msup>
<mo stretchy="false">↦<!-- ↦ --></mo>
<mo fence="false" stretchy="false">{</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<msup>
<mo fence="false" stretchy="false">}</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle G:\{0,1\}^{k_{0}}\mapsto \{0,1\}^{k}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/65a3622e8c57d55ac31e445ae8acc39ea767d316.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:21.755ex; height:3.176ex;" alt="{\displaystyle G:\{0,1\}^{k_{0}}\mapsto \{0,1\}^{k}}" loading="lazy"></span> und <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H:\{0,1\}^{k}\mapsto \{0,1\}^{k_{0}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>H</mi>
<mo>:</mo>
<mo fence="false" stretchy="false">{</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<msup>
<mo fence="false" stretchy="false">}</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
<mo stretchy="false">↦<!-- ↦ --></mo>
<mo fence="false" stretchy="false">{</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<msup>
<mo fence="false" stretchy="false">}</mo>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle H:\{0,1\}^{k}\mapsto \{0,1\}^{k_{0}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/837bbb226335e99c2fde0789c176a7b5edef221c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:21.991ex; height:3.176ex;" alt="{\displaystyle H:\{0,1\}^{k}\mapsto \{0,1\}^{k_{0}}}" loading="lazy"></span> <a href="Kryptographische_Hashfunktion" title="Kryptographische Hashfunktion">kryptographische Hashfunktionen</a>.
Das Verschlüsselungsverfahren <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>F</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle F}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/545fd099af8541605f7ee55f08225526be88ce57.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.741ex; height:2.176ex;" alt="{\displaystyle F}" loading="lazy"></span>-OAEP ist nun wie folgt definiert. Die Schlüsselerzeugung besteht in der Wahl von <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f,f^{-1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
<mo>,</mo>
<msup>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f,f^{-1}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/efad37ed5bc62f784643a2842a2f1cf9e4757c4f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.966ex; height:3.009ex;" alt="{\displaystyle f,f^{-1}}" loading="lazy"></span>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Verschlüsselung"><span id="Verschl.C3.BCsselung"></span>Verschlüsselung</h3></div>
<p>Um eine <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span>-Bit Nachricht <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>m</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/0a07d98bb302f3856cbabc47b2b9016692e3f7bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}" loading="lazy"></span> zu verschlüsseln, verfährt man nun wie folgt:
</p>
<ul><li>Man wählt <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r\in \{0,1\}^{k_{0}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>r</mi>
<mo>∈<!-- ∈ --></mo>
<mo fence="false" stretchy="false">{</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<msup>
<mo fence="false" stretchy="false">}</mo>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r\in \{0,1\}^{k_{0}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/dcff5e273804da0ddc92052ee18fd5dae6a17a45.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.493ex; height:3.176ex;" alt="{\displaystyle r\in \{0,1\}^{k_{0}}}" loading="lazy"></span> als eine zufällige Folge von <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k_{0}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k_{0}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/eafdfeca4ead3960fca92311910970eba7ec48a1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.265ex; height:2.509ex;" alt="{\displaystyle k_{0}}" loading="lazy"></span> Bits.</li>
<li>Dann berechnet man
<ul><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle X=m\oplus G(r)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>X</mi>
<mo>=</mo>
<mi>m</mi>
<mo>⊕<!-- ⊕ --></mo>
<mi>G</mi>
<mo stretchy="false">(</mo>
<mi>r</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle X=m\oplus G(r)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/1bf06d98adc664dbf8590f434b8069048887602e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.644ex; height:2.843ex;" alt="{\displaystyle X=m\oplus G(r)}" loading="lazy"></span> und <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Y=r\oplus H(m\oplus G(r))}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>Y</mi>
<mo>=</mo>
<mi>r</mi>
<mo>⊕<!-- ⊕ --></mo>
<mi>H</mi>
<mo stretchy="false">(</mo>
<mi>m</mi>
<mo>⊕<!-- ⊕ --></mo>
<mi>G</mi>
<mo stretchy="false">(</mo>
<mi>r</mi>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Y=r\oplus H(m\oplus G(r))}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/fb77bc407b5984d71f4e31c6b14fe562d8a70cec.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:22.199ex; height:2.843ex;" alt="{\displaystyle Y=r\oplus H(m\oplus G(r))}" loading="lazy"></span>.</li></ul></li>
<li>Der Schlüsseltext <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>c</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle c}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/86a67b81c2de995bd608d5b2df50cd8cd7d92455.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.007ex; height:1.676ex;" alt="{\displaystyle c}" loading="lazy"></span> ist dann gegeben als:
<ul><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c=f(X||Y)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>c</mi>
<mo>=</mo>
<mi>f</mi>
<mo stretchy="false">(</mo>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>Y</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle c=f(X||Y)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/83b813fcca512d264e065a6fe7f75f4f0fe7f8d7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.24ex; height:2.843ex;" alt="{\displaystyle c=f(X||Y)}" loading="lazy"></span>,<br> wobei <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle ||}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle ||}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/21f5807306073054891bcdde4e801db2773e82d2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:1.294ex; height:2.843ex;" alt="{\displaystyle ||}" loading="lazy"></span> hier für <a href="Konkatenation_(Listen)" title="Konkatenation (Listen)">Konkatenation</a> steht.</li></ul></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Entschlüsselung"><span id="Entschl.C3.BCsselung"></span>Entschlüsselung</h3></div>
<p>Um die Nachricht <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>m</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/0a07d98bb302f3856cbabc47b2b9016692e3f7bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}" loading="lazy"></span> zu rekonstruieren, führt man die folgenden Schritte aus:
</p>
<ul><li>Zuerst verwendet man die Falltür, um zu berechnen:
<ul><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Z=(X||Y)=f^{-1}(c)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>Z</mi>
<mo>=</mo>
<mo stretchy="false">(</mo>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>Y</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<msup>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>c</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Z=(X||Y)=f^{-1}(c)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/5fa45d3ddcac9b067c5ec3c708d05e6199ea3675.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:21.203ex; height:3.176ex;" alt="{\displaystyle Z=(X||Y)=f^{-1}(c)}" loading="lazy"></span></li></ul></li>
<li>Nun rekonstruiert man den Zufallswert <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>r</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/0d1ecb613aa2984f0576f70f86650b7c2a132538.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:1.676ex;" alt="{\displaystyle r}" loading="lazy"></span> als
<ul><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r=Y\oplus H(X)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>r</mi>
<mo>=</mo>
<mi>Y</mi>
<mo>⊕<!-- ⊕ --></mo>
<mi>H</mi>
<mo stretchy="false">(</mo>
<mi>X</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r=Y\oplus H(X)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/4507cb59d66011e3b8c2b727fb857aac51f8a6e4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.614ex; height:2.843ex;" alt="{\displaystyle r=Y\oplus H(X)}" loading="lazy"></span>.</li></ul></li>
<li>Schließlich erhält man die Nachricht <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>m</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/0a07d98bb302f3856cbabc47b2b9016692e3f7bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}" loading="lazy"></span> wieder als
<ul><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m=X\oplus G(r)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>m</mi>
<mo>=</mo>
<mi>X</mi>
<mo>⊕<!-- ⊕ --></mo>
<mi>G</mi>
<mo stretchy="false">(</mo>
<mi>r</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m=X\oplus G(r)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/1d852160e36ee8341378eac0d81d77f18a7ae7e4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.644ex; height:2.843ex;" alt="{\displaystyle m=X\oplus G(r)}" loading="lazy"></span>.</li></ul></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Varianten">Varianten</h2></div>
<p>Durch eine einfache Modifikation des obigen Protokolls kann man auch IND-CCA1 Sicherheit, also Sicherheit gegen <a href="Ciphertext_Indistinguishability#IND-CCA" title="Ciphertext Indistinguishability">Gewählte-Schlüsseltext-Angriffe</a> erreichen. Dazu reduziert man die Länge der Nachricht <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>m</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/0a07d98bb302f3856cbabc47b2b9016692e3f7bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}" loading="lazy"></span> auf <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k-k_{1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k-k_{1}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/9106b5c90d672a0c7b70b20fcbb8a415abc1d49b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.317ex; height:2.509ex;" alt="{\displaystyle k-k_{1}}" loading="lazy"></span> Bits, und konkateniert sie mit <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k_{1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k_{1}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/376315fd4983f01dada5ec2f7bebc48455b14a66.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.265ex; height:2.509ex;" alt="{\displaystyle k_{1}}" loading="lazy"></span> Nullen. Beim Entschlüsseln prüft man, ob der rekonstruierte Wert die korrekte Form hat, und bricht ansonsten ab.
</p><p>Victor Shoup präsentierte eine Erweiterung des Verfahrens, mit welcher für jede beliebige Falltürpermutation auch IND-CCA2 Sicherheit erreicht werden kann.<sup id="cite_ref-Shoup_2-0" class="reference"><a href="#cite_note-Shoup-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="RSA-OAEP">RSA-OAEP</h2></div>
<p>Der Grund für die Entwicklung von OAEP war die Suche nach einer Möglichkeit, mit <a href="RSA-Kryptosystem" title="RSA-Kryptosystem">RSA</a> sicher (im Sinn von IND-CCA2-Sicherheit) zu verschlüsseln. Wird bei OAEP als Falltürpermutation RSA verwendet, so wird das Verfahren als RSA-OAEP bezeichnet. Obwohl OAEP im allgemeinen Fall IND-CCA2-Sicherheit nicht erreicht, ist dies für RSA-OAEP im Zufallsorakel-Modell und unter der RSA-Annahme der Fall.<sup id="cite_ref-FOPS_3-0" class="reference"><a href="#cite_note-FOPS-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>Da das Ergebnis des OAEP-Encodings eine Zahl zwischen 0 und <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2^{n}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/8226f30650ee4fe4e640c6d2798127e80e9c160d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.381ex; height:2.343ex;" alt="{\displaystyle 2^{n}}" loading="lazy"></span> ist, der <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/a601995d55609f2d9f5e233e36fbe9ea26011b3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" loading="lazy"></span>-bit RSA-Modulus <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> aber kleiner als <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2^{n}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/8226f30650ee4fe4e640c6d2798127e80e9c160d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.381ex; height:2.343ex;" alt="{\displaystyle 2^{n}}" loading="lazy"></span> ist, kann es vorkommen, dass das Ergebnis des OAEP-Encodings einen größeren numerischen Wert hat als der RSA-Modulus. Dies darf aber nicht passieren, da in diesem Fall die Entschlüsselung nicht mehr eindeutig ist. Daher muss in einem solchen Fall das OAEP-Encoding mit neuem Zufall <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle r}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>r</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle r}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/0d1ecb613aa2984f0576f70f86650b7c2a132538.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:1.676ex;" alt="{\displaystyle r}" loading="lazy"></span> wiederholt werden.
</p><p>RSA-OAEP wurde in <a href="Public-Key_Cryptography_Standards" title="Public-Key Cryptography Standards">PKCS#1</a> und RFC&nbsp;3447<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> standardisiert, wobei die verwendete Hashfunktion ein Parameter des Verfahrens ist, also nicht festgelegt wurde. Unter diesen Umständen, also ohne Zufallsorakel, ist RSA-OAEP unter der Phi-Hiding-Annahme IND-CPA sicher, falls die verwendete Hashfunktion <i>t-wise independent</i> ist.<sup id="cite_ref-KONS_5-0" class="reference"><a href="#cite_note-KONS-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
Bei der Standardisierung wurde allerdings eine Änderung vorgenommen, durch die das Verfahren nicht mehr beweisbar sicher ist: Um das oben angesprochene Wiederholen des OAEP-Encodings zu vermeiden wurde festgelegt, dass das Ergebnis von OAEP um 8&nbsp;Bit kürzer sein muss als der RSA-Modulus; die ersten 8&nbsp;Bit werden mit 0 aufgefüllt. Der Empfänger muss beim Entschlüsseln überprüfen, ob die ersten 8&nbsp;Bit den Wert&nbsp;0 haben, und abbrechen, falls nicht. Falls ein Angreifer unterscheiden kann, ob eine Entschlüsselung aus diesem oder aus einem anderen Grund abgebrochen wurde, gibt es einen Angriff, der ohne den geheimen Schlüssel den kompletten Klartext zurückgewinnt.<sup id="cite_ref-Manger_6-0" class="reference"><a href="#cite_note-Manger-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> Dafür benötigt er nur ca. 1000 Anfragen an ein Fehlerorakel, das lediglich ausgibt, ob und aus welchem Grund ein Entschlüsselungsversuch gescheitert ist. Solche Orakel können beispielsweise bei <a href="Transport_Layer_Security" title="Transport Layer Security">TLS/SSL</a>-Verbindungen auftreten, dort wurde der Angriff auch in der Praxis durchgeführt.
</p>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-BR-1"><span class="mw-cite-backlink"><a href="#cite_ref-BR_1-0">↑</a></span> <span class="reference-text"><a href="Mihir_Bellare" title="Mihir Bellare">Mihir Bellare</a>, <a href="Phillip_Rogaway" title="Phillip Rogaway">Phillip Rogaway</a>: <cite style="font-style:italic">Optimal Asymmetric Encryption – How to encrypt with RSA</cite>. In: <cite style="font-style:italic">EUROCRYPT 94</cite> (=&nbsp;<cite style="font-style:italic">Lecture Notes in Computer Science</cite>). <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>950</span>. Springer, 1994, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>92–111</span> (<a rel="nofollow" class="external text" href="http://cseweb.ucsd.edu/~mihir/papers/oae.pdf">ucsd.edu</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Optimal+Asymmetric+Encryption+Padding&amp;rft.atitle=Optimal+Asymmetric+Encryption+-+How+to+encrypt+with+RSA&amp;rft.au=Mihir+Bellare%2C+Phillip+Rogaway&amp;rft.btitle=EUROCRYPT+94&amp;rft.date=1994&amp;rft.genre=book&amp;rft.pages=92-111&amp;rft.pub=Springer&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.volume=950" style="display:none">&nbsp;</span> <style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */


.mw-parser-output .webarchiv-memento a{color:inherit}


/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20181105145454/http://cseweb.ucsd.edu/~mihir/papers/oae.pdf">Optimal Asymmetric Encryption – How to encrypt with RSA.</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */


.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}


/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fcseweb.ucsd.edu%2F%7Emihir%2Fpapers%2Foae.pdf">Originals</a></span> vom 5. November 2018 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://cseweb.ucsd.edu/~mihir/papers/oae.pdf">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://cseweb.ucsd.edu/~mihir/papers/oae.pdf">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/cseweb.ucsd.edu</span> cseweb.ucsd.edu</span>
</li>
<li id="cite_note-Shoup-2"><span class="mw-cite-backlink"><a href="#cite_ref-Shoup_2-0">↑</a></span> <span class="reference-text">Victor Shoup: <cite style="font-style:italic">OAEP Reconsidered</cite>. In: <cite style="font-style:italic">CRYPTO 2001</cite> (=&nbsp;<cite style="font-style:italic">Lecture Notes in Computer Science</cite>). vol. 2139. Springer, 2001, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>239–259</span> (<a rel="nofollow" class="external text" href="http://www.shoup.net/papers/oaep.pdf">shoup.net</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Optimal+Asymmetric+Encryption+Padding&amp;rft.atitle=OAEP+Reconsidered&amp;rft.au=Victor+Shoup&amp;rft.btitle=CRYPTO+2001&amp;rft.date=2001&amp;rft.genre=book&amp;rft.pages=239-259&amp;rft.pub=Springer&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.volume=vol.+2139" style="display:none">&nbsp;</span></span>
</li>
<li id="cite_note-FOPS-3"><span class="mw-cite-backlink"><a href="#cite_ref-FOPS_3-0">↑</a></span> <span class="reference-text">
Eiichiro Fujisaki, Tatsuaki Okamoto, David Pointcheval, Jacques Stern: <cite style="font-style:italic">RSA-OAEP is Secure under the RSA Assumption</cite>. In: <cite style="font-style:italic">Journal of Cryptology</cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>17</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em">&nbsp;</span>2</span>. Springer, 2004, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>81–104</span> (<a rel="nofollow" class="external text" href="http://www.di.ens.fr/users/pointche/Documents/Papers/2004_joc.pdf">ens.fr</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rfr_id=info:sid/de.wikipedia.org:Optimal+Asymmetric+Encryption+Padding&amp;rft.atitle=RSA-OAEP+is+Secure+under+the+RSA+Assumption&amp;rft.au=Eiichiro+Fujisaki%2C+Tatsuaki+Okamoto%2C+David+Pointcheval%2C+...&amp;rft.date=2004&amp;rft.genre=journal&amp;rft.issue=2&amp;rft.jtitle=Journal+of+Cryptology&amp;rft.pages=81-104&amp;rft.pub=Springer&amp;rft.volume=17" style="display:none">&nbsp;</span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3447" class="extiw external" title="rfc:3447">3447</a></span></i>&nbsp;– <i><span lang="en">Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1</span></i>. Februar 2003 (englisch).</span>
</li>
<li id="cite_note-KONS-5"><span class="mw-cite-backlink"><a href="#cite_ref-KONS_5-0">↑</a></span> <span class="reference-text">
Eike Kiltz, Adam O’Neill, Adam Smith: <cite style="font-style:italic">Instantiability of RSA-OAEP under Chosen-Plaintext Attack</cite>. In: <cite style="font-style:italic">CRYPTO 2010</cite> (=&nbsp;<cite style="font-style:italic">Lecture Notes in Computer Science</cite>). <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>6223</span>. Springer, 2010, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>295–313</span> (<a rel="nofollow" class="external text" href="http://eprint.iacr.org/2011/559.pdf">iacr.org</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Optimal+Asymmetric+Encryption+Padding&amp;rft.atitle=Instantiability+of+RSA-OAEP+under+Chosen-Plaintext+Attack&amp;rft.au=Eike+Kiltz%2C+Adam+O%E2%80%99Neill%2C+Adam+Smith&amp;rft.btitle=CRYPTO+2010&amp;rft.date=2010&amp;rft.genre=book&amp;rft.pages=295-313&amp;rft.pub=Springer&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.volume=6223" style="display:none">&nbsp;</span></span>
</li>
<li id="cite_note-Manger-6"><span class="mw-cite-backlink"><a href="#cite_ref-Manger_6-0">↑</a></span> <span class="reference-text">
James Manger: <cite style="font-style:italic">A Chosen Ciphertext Attack on RSA Optimal Asymmetric Encryption Padding (OAEP) as Standardized in PKCS #1 v2.0</cite>. In: <cite style="font-style:italic">CRYPTO 2001</cite> (=&nbsp;<cite style="font-style:italic">Lecture Notes in Computer Science</cite>). <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>2139</span>. Springer, 2001, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>260–274</span> (<a rel="nofollow" class="external text" href="http://archiv.infsec.ethz.ch/education/fs08/secsem/Manger01.pdf">ethz.ch</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Optimal+Asymmetric+Encryption+Padding&amp;rft.atitle=A+Chosen+Ciphertext+Attack+on+RSA+Optimal+Asymmetric+Encryption+Padding+%28OAEP%29+as+Standardized+in+PKCS+%231+v2.0&amp;rft.au=James+Manger&amp;rft.btitle=CRYPTO+2001&amp;rft.date=2001&amp;rft.genre=book&amp;rft.pages=260-274&amp;rft.pub=Springer&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.volume=2139" style="display:none">&nbsp;</span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2023-06-29" href="https://de.wikipedia.org/wiki/?title=Optimal_Asymmetric_Encryption_Padding&amp;oldid=235040172">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>